#include "CubeTempo.h"
#include "../Pion.h"
#include <math.h>
#include "../Ressources.h"

CubeTempo::CubeTempo(SDL_Rect p , SDL_Surface *ecran) : PlateForme(p, Ressources::get_image(TEMPO),ecran) {
	tempPremierAffichage = -1;
	tempsAvanDispatraitre = (rand()%(50-15))+15;

}

CubeTempo::CubeTempo(SDL_Rect p , SDL_Surface *ecran , int tempDePresence) : PlateForme(p, Ressources::get_image(TEMPO),ecran){
	tempPremierAffichage = -1;
	tempsAvanDispatraitre = tempDePresence;
}

bool CubeTempo::reagit(Pion *p){
	p->relancer(50);
	return true;
}

bool CubeTempo::doitDisparaitre(){
	double tempsAct = SDL_GetTicks()/100.00;
	double tempsDejaFait = tempsAct-tempPremierAffichage;
	double prorata = tempsDejaFait*(255/tempsAvanDispatraitre);

	return Affichable::doitDisparaitre() || (tempPremierAffichage != -1 && 255-prorata <= 0 );
}

void CubeTempo::afficher(){
	if(tempPremierAffichage == -1)
		tempPremierAffichage = SDL_GetTicks()/100.00;
	else{//on va les rendre transparent pour que l'user puisse voir quand ca va disparaitre
		double tempsAct = SDL_GetTicks()/100.00;
		double tempsDejaFait = tempsAct-tempPremierAffichage;
		double prorata = tempsDejaFait*(255/tempsAvanDispatraitre);
		SDL_SetAlpha(image, SDL_SRCALPHA, 255-prorata);
	}

	PlateForme::afficher();
}
